Repository navigation
lyrical: pin the Jetty majors of the gz vendors that drifted to Ionic on osx-arm64 - #208
Merged
Merged
Conversation
On osx-arm64 the py312 build of gz_transport_vendor resolved libgz-transport 14 (Ionic): unpinned, the solver preferred the newest libabseil/libprotobuf builds, which gz-transport 15 doesn't have yet there. gz_gui/sensors/sim_vendor followed it (gz-gui 9, gz-sensors 9, gz-sim 9), and ros_gz_bridge's py312 build fails on every lyrical osx-arm64 run (find_package(gz-transport): no config). Pin gz-transport 15, gz-gui 10, gz-sensors 10 and gz-sim 10 (what the vendors need, and what every other build has) and rebuild the four vendors (build_number 33). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ches The glob also copies a package's patches for other platforms (e.g. ros2-ros-gz-bridge.win.patch on macOS) into a recipe that has no patch for this platform, and so no patch/ directory: FileNotFoundError. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
Author
|
@traversaro this currently blocks main. You’re probably the best person so judge if this is the right approach. |
Member
It is the correct approach, probably we need to extend it to all distros, but for sure it is the correct appoarch. |
traversaro
approved these changes
Nov 9, 2026
Tobias-Fischer
added a commit
that referenced
this pull request
Nov 10, 2026
Extends the four lyrical pins from #208 to all Gazebo vendors, as suggested in review, so that no solve can mix Gazebo releases (an unpinned osx-arm64 py312 solve took gz-transport 14, Ionic). The majors come from the vendor tags in each distribution's snapshot. rolling's vendors already target the next Gazebo (prereleases such as gz-sim 11) that conda-forge does not ship, so rolling builds against Jetty too. jazzy already pins Harmonic through versioned names (gz-sim8, ...), and humble uses Fortress (libignition-*6). The published vendor builds are all Jetty already, so nothing is rebuilt. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the lyrical osx-arm64 build-branch failure: the py312 build of
ros_gz_bridgefails on every run withfind_package(gz-transport): no config.Cause: the py312 osx-arm64 build of
gz_transport_vendoron the channel (np2py312h0d6c794_30) depends on gz-transport 14 (Ionic); every other build is on 15 (Jetty). Itslibgz-transportrequirement is unpinned, and the solver preferred the newest libabseil 20260817 / libprotobuf builds, which conda-forge's gz-transport 15 for osx-arm64 doesn't have yet. The py312 osx-arm64 builds ofgz_gui_vendor(gz-gui 9),gz_sensors_vendor(9) andgz_sim_vendor(9) ended up on Ionic too.Fix:
distros/lyrical/patch/dependencies.yaml: pin the Jetty majors the vendors need,libgz-transport 15.*,gz-gui 10.*,gz-sensors 10.*,libgz-sim 10.*.build_number: 33for the four vendors, so the Jetty builds replace the Ionic ones.rs build-one: create the recipe'spatch/directory before copying; it crashed copyingros2-ros-gz-bridge.win.patchon macOS into a recipe without one.Tested locally (osx-arm64): both variants of the transport vendor resolve gz-transport 15.1.0, and
ros_gz_bridgebuilds for py312 and py314 against them.pixi run testpasses (78).Labelled
build:lyrical+build:osx-arm64: the change totools/would otherwise build every distribution.Unrelated: the lyrical osx-64 build-branch failures are GitHub 504s downloading pixi in "Setup pixi", not package failures.
🤖 Generated with Claude Code